在具备了volatile、CAS和模板方法设计模式的知识之后,我们可以来深入学习下AbstractQueuedSynchronizer(AQS),本文主要想从AQS的产生背景、设计和结构、源代码实 ...
在具备了volatile、CAS和模板方法设计模式的知识之后,我们可以来深入学习下AbstractQueuedSynchronizer(AQS),本文主要想从AQS的产生背景、设计和结构、源代码实 ...
基于AQS的前世今生,来学习并发工具类Semaphore。本文将从Semaphore的应用场景、源码原理解析来学习这个并发工具类。 1、 应用场景 Semaphore用来控制同时访问某个特 ...
上文已经总结了AQS的前世今生,有了这个基础我们就可以来进一步学习并发工具类。首先我们要学习的就是ReentrantLock,本文将从ReentrantLock的产生背景、源码原理解析和应用来学习 ...
上一篇文章,学习了并发编程中的synchronized,这个比较好理解,也是我最初学习多线程编程中的一个简单的实现的,大学的时候就会了,然后就一直以为多线程环境的同步只能通过这个来实现的,事实上J ...
上一篇文章,学习了并发编程中的volatile,最后取了网上流传很广的一张图来结尾,从图中可以看出除了volatile变量的读写,还有一个叫做CAS的东西,所以这篇文章再来学习CAS。 1、 ...
这是Java并发编程学习的第一篇,最早在2013年时便励志要把JAVA的并发编程好好学习一下,那个时候才工作一年。后来由于各种各样的原因,未能学习起来,5年时间过去,技术止步不前,学到的都是业务领 ...